home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Nordlicht Spiele
/
Nordlicht Spiele 15-09 (19xx)(Nordlicht)(DE)(PD).zip
/
Nordlicht Spiele 15-09 (19xx)(Nordlicht)(DE)(PD).adf
/
Shogun
(
.txt
)
< prev
next >
Wrap
AmigaBASIC Source Code
|
1991-03-01
|
18KB
|
544 lines
' *********************************************
' * Programm SHOGUN V 2S *
' * von Frank Garnath © 1987/1988 *
' *********************************************
CLEAR ,,30000
DEFINT f,m-s,w,z
SCREEN 2,640,215,3,2
WINDOW 7,"",(0,0)-(631,190),0,2
WINDOW 8,"",(170,72)-(473,127),0,2:LINE (0,0)-(303,65),1,bf
WINDOW 6,"",(162,68)-(465,123),0,2
PALETTE 0,0.9,0.9,1
FOR x=1 TO 7
PALETTE x,x/10-0.1,x/10-0.1,x/10+0.1
NEXT x
COLOR 1,0
LOCATE 1,12:PRINT" S H O G U N "
LOCATE 3,9:PRINT"von Frank Garnath"
LOCATE 5,9:PRINT"Lübeck, 1987/1988"
LOCATE 7,1:PRINT"Möchten Sie die Anleitung lesen (j/n)?"
farbe=1:add=1
WHILE i$<>"j" AND i$<>"n"
i$=INKEY$:RANDOMIZE TIMER
WINDOW OUTPUT 7
LINE (x,y)-(631-x,200-y),farbe,b:LINE (x+1,y)-(630-x,200-y),farbe,b
farbe=farbe+add
IF farbe=7 THEN add=-1
IF farbe=1 THEN add=1
IF z=0 AND x<631 THEN x=x+2:y=y+1 :ELSE z=1:x=x-2:y=y-1:IF x<0 THEN z=0
WEND
CLS
WINDOW CLOSE 6
WINDOW CLOSE 8
IF i$="j" THEN CALL Anleitung
GOSUB Dunkel:PALETTE 2,0,0,0:COLOR 2,0
CLS:LOCATE 12,30:PRINT"Einen Moment bitte!"
GOSUB Hell
Voreinstellungen:
DIM SHARED f(63), wert(63), ZugR(7,15), ZugW(7,15)
NeuesSpiel:
RANDOMIZE TIMER:v=INT(RND*4)
IF v=0 OR v=2 THEN RESTORE Daten0:f1=2:f2=3
IF v=1 OR v=3 THEN RESTORE Daten90:f1=3:f2=2
IF v>1 THEN a=1:b=0:c=-1 :ELSE a=0:b=1:c=1
FOR y=a TO b STEP c
IF v>1 THEN d=15+y*32:e=y*32:f=-1 :ELSE d=y*32:e=15+y*32:f=1
FOR x=d TO e STEP f
READ wert(x):wert(x+16)=wert(x)
NEXT x
NEXT y
FOR y=0 TO 3
FOR x=y*16 TO 6+y*16 STEP 2
f(x)=f1:f(x+1)=f2:f(x+8)=f2:f(x+9)=f1
NEXT x
NEXT y
RANDOMIZE TIMER
FOR x=0 TO 7
prx(x)=1+x*48:pry(x)=1
pwx(x)=prx(x):pwy(x)=pry(x)+168
zr(x)=wert(x):zw(x)=wert(x+56)
v=RND
IF v<0.5 THEN zar(x,1)=1:zar(x,2)=3:zar(x,3)=2:zar(x,4)=4
IF v>=0.5 THEN zar(x,1)=1:zar(x,2)=2:zar(x,3)=4:zar(x,4)=3
v=RND
IF v<0.5 THEN zaw(x,1)=1:zaw(x,2)=3:zaw(x,3)=2:zaw(x,4)=4
IF v>=0.5 THEN zaw(x,1)=1:zaw(x,2)=2:zaw(x,3)=4:zaw(x,4)=3
NEXT x
zar(3,1)=1:zar(3,2)=1:zar(3,3)=2:zar(3,4)=2
zaw(4,1)=1:zaw(4,2)=1:zaw(4,3)=2:zaw(4,4)=2
IF ns=1 THEN Spielfeld
FOR y=0.75 TO 0.02 STEP -0.01
FOR x=0 TO 1
PALETTE x,y,y+0.22,y+0.25
NEXT x
NEXT y
FOR x=2 TO 7
PALETTE x,0.02,0.24,0.27
NEXT x
WINDOW CLOSE 7
WINDOW 2,"SHOGUN V 2S",(0,0)-(397,200),0,2
FOR x=0 TO 8
LINE (10,5)-(387+x,194+INT(x/2)),2,b
NEXT
Spielfeld:
WINDOW OUTPUT 2:LOCATE 2,1
LINE (0,0)-(385,193),5,b
FOR y=1 TO 163 STEP 48
FOR x=1 TO 317 STEP 96
LINE (x,y)-(x+47,y+23),f1,bf
LINE (x+48,y)-(x+95,y+23),f2,bf
LINE (x,y+24)-(x+47,y+47),f2,bf
LINE (x+48,y+24)-(x+95,y+47),f1,bf
NEXT x
NEXT y
Figuren:
FOR x=0 TO 7
LINE (6+x*48,4)-(41+x*48,21),4,bf
LINE (6+x*48,172)-(41+x*48,189),1,bf
LINE (8+x*48,6)-(39+x*48,19),6,b
LINE (8+x*48,174)-(39+x*48,187),7,b
IF x<>3 THEN PAINT (20+x*48,12),6
IF x<>4 THEN PAINT (20+x*48,179),7
NEXT x
PAINT (164,12),5,6:PAINT (212,179),5,7
COLOR 5,4
FOR x=0 TO 7
PRINT PTAB(12+x*48)zar(x,zr(x));
NEXT x
COLOR 2,1:LOCATE 23,1
FOR x=0 TO 7
PRINT PTAB(12+x*48)zaw(x,zw(x));
NEXT x
Eingaben:
WINDOW 4,"Spieler 1",(404,0)-(631,54),0,2
WINDOW 5,"Spieler 2",(404,143)-(631,200),0,2
WINDOW 3,"Eingaben",(404,67)-(631,129),0,2
PALETTE 0,0.02,0.24,0.27
PALETTE 1,1,1,1
PALETTE 2,0,0,0
PALETTE 3,0.33,0.33,0.33
PALETTE 4,0.93,0.2,0
PALETTE 5,1,1,0.13
PALETTE 6,0.53,0.15,0
PALETTE 7,0.63,0.63,0.63
COLOR 5,0
FOR x=1 TO 2
PRINT "Name Spieler",x:INPUT na$(x)
BEEP
NEXT x
WINDOW OUTPUT 4:COLOR 4,0:PRINT na$(1)
WINDOW OUTPUT 5:COLOR 1,0:PRINT na$(2)
WINDOW OUTPUT 3:COLOR 5,0
CLS:sp=1
naechsterSpieler:
IF sp=0 THEN sp=1 :ELSE sp=0
SteinNr=-2
Spielbeginn:
IF mattpr=1 THEN Mattpruef
WINDOW OUTPUT 4+sp:COLOR 4-sp*3,0:CLS:PRINT na$(1+sp)
PRINT"Sie sind am Zug!":PRINT p$
WINDOW OUTPUT 2
CheckMouse1:
WHILE MOUSE(0)<1
WEND
mx=MOUSE(3):my=MOUSE(4)
mx=INT(mx/48)*48+1:my=INT(my/24)*24+1
IF sx=0 THEN sx=1:sy=1
IF px=0 THEN px=1:py=1
LINE (sx,sy)-(sx+47,sy+23),f(sx/48+sy/3),b
LINE (px,py)-(px+47,py+23),f(px/48+py/3),b
FOR x=0 TO 7
IF prx(x)=mx AND pry(x)=my THEN m=x:GOTO MarkSetz
NEXT x
GOTO CheckMouse1
MarkSetz:
BEEP:LINE (mx,my)-(mx+47,my+23),5,b
CheckMouse2:
WINDOW OUTPUT 2
WHILE MOUSE(0)<1
WEND
sx=MOUSE(3):sy=MOUSE(4)
IF sx>383 OR sy>191 THEN CheckMouse2
sx=INT(sx/48)*48+1:sy=INT(sy/24)*24+1
IF sx=prx(m) AND sy=pry(m) THEN LINE (sx,sy)-(sx+47,sy+23),f(sx/48+sy/3),b:GOTO Spielbeginn
LINE (sx,sy)-(sx+47,sy+23),5,b
EinsprungMattpruef:
schrittzahl=ABS(INT((prx(m)-sx)/48))+ABS(INT((pry(m)-sy)/24))
IF schrittzahl<>zar(m,zr(m)) THEN
fz=1:fz1$="Sie müssen":fz2$="Feld(er) ziehen!"
GOTO FalscherZug
END IF
FOR x=0 TO 7
IF sx=prx(x) AND sy=pry(x) THEN
IF schwpr=1 THEN Sprungpruef
fz1$="Sie können nicht Ihren":fz2$="eigenen Stein schlagen!"
GOTO FalscherZug
END IF
NEXT x
Sprungpruef:
IF zar(m,zr(m))=1 THEN AllgShogunpruef1
weg1=0:weg2=0
IF sx=prx(m) THEN ZugpruefY
IF sy=pry(m) THEN ZugpruefX
IF sx<prx(m) THEN stpx=48
IF sx>prx(m) THEN stpx=-48
IF sy<pry(m) THEN stpy=24
IF sy>pry(m) THEN stpy=-24
FOR n=sx+stpx TO prx(m) STEP stpx
FOR o=0 TO 7
IF (prx(o)=n AND pry(o)=sy) OR (pwx(o)=n AND pwy(o)=sy) THEN weg1=1
IF (prx(o)=n-stpx AND pry(o)=pry(m)) OR (pwx(o)=n-stpx AND pwy(o)=pry(m)) THEN weg2=1
NEXT o
NEXT n
FOR n=sy+stpy TO pry(m)-stpy STEP stpy
FOR o=0 TO 7
IF (pry(o)=n AND prx(o)=prx(m)) OR (pwy(o)=n AND pwx(o)=prx(m)) THEN weg1=1
IF (pry(o)=n AND prx(o)=sx) OR (pwy(o)=n AND pwx(o)=sx) THEN weg2=1
NEXT o
NEXT n
IF weg1=1 AND weg2=1 THEN FZug
GOTO AllgShogunpruef1
ZugpruefX:
IF sx<prx(m) THEN stp=48
IF sx>prx(m) THEN stp=-48
FOR n=sx+stp TO prx(m)-stp STEP stp
FOR o=0 TO 7
IF (prx(o)=n AND pry(o)=sy) OR (pwx(o)=n AND pwy(o)=sy) THEN FZug
NEXT o
NEXT n
GOTO AllgShogunpruef1
ZugpruefY:
IF sy<pry(m) THEN stp=24
IF sy>pry(m) THEN stp=-24
FOR n=sy+stp TO pry(m)-stp STEP stp
FOR o=0 TO 7
IF (pry(o)=n AND prx(o)=sx) OR (pwy(o)=n AND pwx(o)=sx) THEN
FZug:
fz1$="Sie dürfen keinen Stein":fz2$="überspringen!":fz=0
GOTO FalscherZug
END IF
NEXT o
NEXT n
AllgShogunpruef1:
spp=sp:sxx=sx:syy=sy
zz=zr(m):zr(m)=wert(INT(sx/48+sy/3))
pxm=prx(m):pym=pry(m):prx(m)=sx:pry(m)=sy
z=-1
AllgShogunpruef2:
IF sp=0 THEN
sx=prx(3):sy=pry(3)
FOR x=0 TO 7
IF spp=0 AND pwx(x)=sxx AND pwy(x)=syy THEN pxmem=pwx(x):pwx(x)=0:pymem=pwy(x):pwy(x)=0:z=x:pm=1
NEXT x
GOSUB ShogunBedroht
IF spp=0 THEN sp=1:GOSUB WerteTauschen:GOTO AllgShogunpruef2 :ELSE GOTO Pruefende
ELSE
sx=prx(4):sy=pry(4)
FOR x=0 TO 7
IF spp=1 AND pwx(x)=sxx AND pwy(x)=syy THEN pxmem=pwx(x):pwx(x)=0:pymem=pwy(x):pwy(x)=0:z=x:pm=1
NEXT x
GOSUB ShogunBedroht
IF spp=1 THEN sp=0:GOSUB WerteTauschen:GOTO AllgShogunpruef2
END IF
Pruefende:
sx=sxx:sy=syy:sp=spp
GOSUB WerteTauschen
Steinsetz:
IF spm=1 AND pm=1 THEN pm=0:IF z<>-1 THEN pwx(z)=pxmem:pwy(z)=pymem
IF spm=1 THEN MattEnde
WINDOW OUTPUT 4+sp:CLS:PRINT na$(1+sp)
WINDOW OUTPUT 2
BEEP
LINE (prx(3+sp),pry(3+sp))-(prx(3+sp)+47,pry(3+sp)+23),f(prx(3+sp)/48+pry(3+sp)/3),b
LINE (mx,my)-(mx+47,my+23),f(mx/48+my/3),bf
prx(m)=sx:pry(m)=sy:zr(m)=wert(INT(prx(m)/48+pry(m)/3))
LINE (prx(m)+5,pry(m)+3)-(prx(m)+40,pry(m)+20),4-sp*3,bf
LINE (prx(m)+8,pry(m)+5)-(prx(m)+38,pry(m)+18),6+sp,b
IF m=3+sp THEN fa=5 :ELSE fa=6+sp
PAINT (prx(m)+20,pry(m)+12),fa,6+sp
LINE (prx(m),pry(m))-(prx(m)+47,pry(m)+23),f(prx(m)/48+pry(m)/3),b
LOCATE pry(m)/8+2,1:COLOR 5-sp*3,4-sp*3
PRINT PTAB(prx(m)+11);zar(m,zr(m))
IF sp=sb THEN p$=""
IF z<>-1 THEN GOSUB FigurGeschlagen
GOSUB WerteTauschen
GOTO naechsterSpieler
Summen:
zzz=zahl-1
sumX(1,1)=0:sumX(1,2)=0:sumX(1,3)=-zahl*48:sumX(1,4)=zahl*48:sumY(1,1)=-zahl*24:sumY(1,2)=zahl*24:sumY(1,3)=0:sumY(1,4)=0
IF Pruefstufe=1 THEN RETURN
sumX(2,1)=-48:sumX(2,2)=48:sumX(2,3)=-48:sumX(2,4)=48:sumY(2,1)=-zzz*24:sumY(2,2)=zzz*24:sumY(2,3)=zzz*24:sumY(2,4)=-zzz*24
IF Pruefstufe=2 THEN RETURN
sumX(3,1)=-zzz*48:sumX(3,2)=zzz*48:sumX(3,3)=-zzz*48:sumX(3,4)=zzz*48:sumY(3,1)=-24:sumY(3,2)=24:sumY(3,3)=24:sumY(3,4)=-24
IF Pruefstufe=3 THEN RETURN
sumX(4,1)=-96:sumX(4,2)=96:sumX(4,3)=-96:sumX(4,4)=96:sumY(4,1)=-48:sumY(4,2)=48:sumY(4,3)=48:sumY(4,4)=-48
RETURN
Mattpruef:
SteinNr=SteinNr+1:m=SteinNr
IF SteinNr=-1 THEN IF sp=0 THEN m=3 :ELSE m=4
IF SteinNr=0 THEN WINDOW OUTPUT 4+sp:PRINT"Einen Augenblick...":WINDOW OUTPUT 2
IF (sp=0 AND SteinNr=3) OR (sp=1 AND SteinNr=4) THEN Mattpruef
IF SteinNr>7 THEN VerlorenGewonnen
IF prx(m)=0 THEN Mattpruef
Pruefstufe=1:pr=0
zahl=zar(m,zr(m))
mx=prx(m):my=pry(m):zrzahl=zr(m)
EinsprungMEnde:
spm=1:MEnde=0
GOSUB Summen
Pruefstufen:
pr=pr+1
sx=prx(m)+sumX(Pruefstufe,pr):sy=pry(m)+sumY(Pruefstufe,pr):IF sx<1 OR sy<1 OR sx>337 OR sy>169 THEN MEnde=1:GOTO MattEnde
IF pr>4 AND zahl=Pruefstufe AND SteinNr=7 THEN VerlorenGewonnen
IF pr>4 AND zahl=Pruefstufe THEN naechstStein=1:GOSUB MattEnde:GOTO Mattpruef
IF pr>4 AND zahl>Pruefstufe THEN Pruefstufe=Pruefstufe+1:MEnde=1:pr=0:GOTO MattEnde
IF Pruefstufe=5 THEN naechstStein=1:MEnde=0:GOSUB MattEnde:GOTO Mattpruef
GOTO EinsprungMattpruef
MattEnde:
spm=0:sx=0:sy=0:prx(m)=mx:pry(m)=my:zr(m)=zrzahl
IF MEnde=1 THEN EinsprungMEnde
IF naechstStein=1 THEN naechstStein=0:RETURN
mattpr=0:SteinNr=-2
GOTO Spielbeginn
ShogunBedroht:
FOR w=0 TO 7
shfeld=ABS((pwx(w)-sx)/48)+ABS((pwy(w)-sy)/24)
IF shfeld=zaw(w,zw(w)) THEN
px=pwx(w):py=pwy(w)
IF px<>0 AND shfeld=1 THEN FZug2
IF px<>0 THEN GOSUB Shogunpruef
END IF
NEXT w
RETURN
Shogunpruef:
weg1=0:weg2=0
IF sx=px THEN ShogunpruefY
IF sy=py THEN ShogunpruefX
IF sx<px THEN stpx=48
IF sx>px THEN stpx=-48
IF sy<py THEN stpy=24
IF sy>py THEN stpy=-24
FOR n=sx+stpx TO px STEP stpx
FOR o=0 TO 7
IF (sp=0 AND o=3) OR (sp=1 AND o=4) THEN
IF pwx(o)=n AND pwy(o)=sy THEN weg1=1
IF pwx(o)=n-stpx AND pwy(o)=py THEN weg2=1
ELSE
IF (prx(o)=n AND pry(o)=sy) OR (pwx(o)=n AND pwy(o)=sy) THEN weg1=1
IF (prx(o)=n-stpx AND pry(o)=py) OR (pwx(o)=n-stpx AND pwy(o)=py) THEN weg2=1
END IF
NEXT o
NEXT n
FOR n=sy+stpy TO py-stpy STEP stpy
FOR o=0 TO 7
IF (sp=0 AND o=3) OR (sp=1 AND o=4) THEN
IF pwy(o)=n AND pwx(o)=px THEN weg1=1
IF pwy(o)=n AND pwx(o)=sx THEN weg2=1
ELSE
IF (pry(o)=n AND prx(o)=px) OR (pwy(o)=n AND pwx(o)=px) THEN weg1=1
IF (pry(o)=n AND prx(o)=sx) OR (pwy(o)=n AND pwx(o)=sx) THEN weg2=1
END IF
NEXT o
NEXT n
IF weg1=1 AND weg2=1 THEN RETURN
GOTO FZug2
ShogunpruefX:
IF sx<px THEN stp=48
IF sx>px THEN stp=-48
FOR n=sx+stp TO px-stp STEP stp
FOR o=0 TO 7
IF (sp=0 AND o=3) OR (sp=1 AND o=4) THEN
IF pwx(o)=n AND pwy(o)=sy THEN RETURN
ELSE
IF (prx(o)=n AND pry(o)=sy) OR (pwx(o)=n AND pwy(o)=sy) THEN RETURN
END IF
NEXT o
NEXT n
GOTO FZug2
ShogunpruefY:
IF sy<py THEN stp=24
IF sy>py THEN stp=-24
FOR n=sy+stp TO py-stp STEP stp
FOR o=0 TO 7
IF (sp=0 AND o=3) OR (sp=1 AND o=4) THEN
IF pwy(o)=n AND pwx(o)=sx THEN RETURN
ELSE
IF (pry(o)=n AND prx(o)=sx) OR (pwy(o)=n AND pwx(o)=sx) THEN RETURN
END IF
NEXT o
NEXT n
FZug2:
li=1
IF spp<>sp THEN sb=sp:p$="Ihr Shogun wird bedroht!":GOSUB ShogunWirdBedroht:RETURN
IF spp=sp THEN fz1$="Durch diesen Zug würde Ihr":fz2$="Shogun bedroht werden!":prx(m)=pxm:pry(m)=pym:zr(m)=zz:fz=0
IF z<>-1 THEN pwx(z)=pxmem:pwy(z)=pymem:pm=0
sx=sxx:sy=syy
FalscherZug:
IF mattpr=1 THEN MEnde=1:GOTO MattEnde
IF li=1 AND ((sp=0 AND m=3) OR (sp=1 AND m=4)) THEN LINE (sx,sy)-(sx+47,sy+23),1+sp*3,b
IF li=1 AND ((sp=0 AND m<>3) OR (sp=1 AND m<>4)) THEN LINE (prx(3+sp),pry(3+sp))-(prx(3+sp)+47,pry(3+sp)+23),1+sp*3,b
IF li=1 THEN LINE (px,py)-(px+47,py+23),1+sp*3,b
WINDOW OUTPUT 4+sp:CLS
PRINT fz1$
IF fz=1 THEN PRINT zar(m,zr(m));:fz=0
PRINT fz2$
WINDOW OUTPUT 2
SOUND 150,5,255,1
LINE (sx,sy)-(sx+47,sy+23),f(sx/48+sy/3),b
LINE (px,py)-(px+47,py+23),f(px/48+py/3),b
IF li=1 AND ((sp=0 AND m<>3) OR (sp=1 AND m<>4)) THEN LINE (prx(3+sp),pry(3+sp))-(prx(3+sp)+47,pry(3+sp)+23),f(prx(3+sp)/48+pry(3+sp)/3),b
li=0
GOTO CheckMouse2
ShogunWirdBedroht:
LINE (sx,sy)-(sx+47,sy+23),1+sp*3,b:LINE (px,py)-(px+47,py+23),1+sp*3,b
FOR x=230 TO 630 STEP 15
SOUND x,0.5,255,1:SOUND 830-x,0.5,255,2
NEXT x
mattpr=1
RETURN
FigurGeschlagen:
FOR x=0 TO 7
IF pwx(x)<>0 THEN Anzahl=Anzahl+1
NEXT x
IF sp=1 AND Anzahl<3 THEN sp=0:mattpr=0:GOTO VerlorenGewonnen
IF sp=0 AND Anzahl<3 THEN sp=1:mattpr=0:GOTO VerlorenGewonnen
Anzahl=0
RETURN
WerteTauschen:
FOR x=0 TO 7
SWAP prx(x),pwx(x):SWAP pry(x),pwy(x):SWAP zr(x),zw(x)
FOR y=1 TO 4
SWAP zar(x,y),zaw(x,y)
NEXT y
NEXT x
RETURN
Dunkel:
FOR x=1 TO 0 STEP -0.01
PALETTE 0,x,x,x:PALETTE 1,x,x,x
NEXT x
RETURN
Hell:
FOR x=0 TO 1 STEP 0.01
PALETTE 0,x,x,x:PALETTE 1,x,x,x
NEXT x
RETURN
VerlorenGewonnen:
WINDOW OUTPUT 4+sp:CLS
PRINT na$(1+sp)","
IF mattpr=1 THEN
mattpr=0:spm=0:p$=""
PRINT"Ihr Shogun ist matt!!!"
PRINT"(Er würde beim nächsten Zug"
PRINT"geschlagen werden.)"
PRINT"Sie haben leider verloren."
ELSE
PRINT"Sie haben nur noch zwei"
PRINT"Steine und somit verloren!"
PRINT"Üben Sie noch ein wenig!"
END IF
WINDOW OUTPUT 5-sp:CLS
PRINT na$(2-sp)","
PRINT"Sie haben gewonnen!"
PRINT"Herzlichen Glückwunsch!!!"
WINDOW OUTPUT 3
PRINT"Noch ein Spiel (J/N)?":i$="":p$=""
WHILE i$<>"j" AND i$<>"n"
i$=INKEY$
WEND
IF i$="j" THEN ns=1:GOTO NeuesSpiel
IF i$="n" THEN SCREEN CLOSE 2:END
Daten0:
DATA 4,1,4,1,2,3,2,3
DATA 3,2,3,2,1,4,1,4
DATA 2,3,2,3,4,1,4,1
DATA 1,4,1,4,3,2,3,2
Daten90:
DATA 3,4,3,4,1,2,1,2
DATA 2,1,2,1,4,3,4,3
DATA 1,2,1,2,3,4,3,4
DATA 4,3,4,3,2,1,2,1
SUB Anleitung STATIC
FOR x=1 TO 0 STEP -0.01
PALETTE 0,x,x,x:PALETTE 1,x,x,x:PALETTE 2,x,x,x
NEXT x
CLS:COLOR 2,0
PRINT TAB(33)"SPIELANLEITUNG":PRINT
PRINT"Shogun ist ein Brettspiel, das zu zweit gespielt wird."
PRINT
PRINT"Jeder Spieler hat acht Steine, von denen der jeweils gelb markierte der SHOGUN"
PRINT"(mit dem König im Schach vergleichbar) ist."
PRINT"Die Zahlen auf den Steinen geben an, wieviele Felder die Steine ziehen dürfen."
PRINT"Wenn ein Stein gesetzt wurde, ändert sich dessen Zahl nach einem bestimmten"
PRINT"System, das hier aber nicht näher erläutert wird, da das Spiel sonst an Reiz"
PRINT"verlieren würde. Auf dem Shogun können die Zahlen 1 oder 2, auf den anderen"
PRINT"Steinen die Zahlen 1 bis 4 erscheinen."
PRINT"Die Spieler ziehen abwechselnd, Spieler 1 (rot) beginnt. Ein Zug kann nicht"
PRINT"verweigert werden."
PRINT"Der Spieler klickt den Stein, den er ziehen möchte, mit der linken Maustaste"
PRINT"an, bewegt den Mauspfeil dann auf das Feld, auf das der Stein gesetzt werden"
PRINT"soll und drückt erneut die linke Maustaste."
PRINT"Hat ein Spieler eine Figur angeklickt, die er doch nicht setzen möchte, kann"
PRINT"er sie durch nochmaliges Anklicken wieder loslassen. Ein bereits vollständig"
PRINT"ausgeführter Zug kann jedoch nicht zurückgenommen werden!"
PRINT:PRINT
PRINT TAB(33)"Weiter mit ´W´"
FOR x=0 TO 1 STEP 0.01
PALETTE 0,x,x,x:PALETTE 1,x,x,x
NEXT x
WHILE INKEY$<>"w"
WEND
FOR x=1 TO 0 STEP -0.01
PALETTE 0,x,x,x:PALETTE 1,x,x,x
NEXT x
CLS:PRINT:PRINT
PRINT"Die Steine dürfen nur waagerecht und senkrecht, nicht diagonal gezogen werden."
PRINT"Es dürfen weder gegnerische noch eigene Steine übersprungen werden. Ein Stein"
PRINT"darf in einem Zug höchstens einmal seine Richtung um 90° ändern!"
PRINT"Gegnerische Steine dürfen geschlagen werden."
PRINT"Der Shogun darf nicht auf ein vom Gegner bedrohtes Feld gesetzt werden.Wenn der"
PRINT"Shogun durch einen gegnerischen Stein bedroht wird, muß er durch eine der fol-"
PRINT"genden Möglichkeiten in Sicherheit gebracht werden:"
PRINT"- er wird auf ein nicht bedrohtes Feld gesetzt"
PRINT"- er schlägt den ihn bedrohenden Stein, wenn dieser nicht gedeckt ist"
PRINT"- zwischen ihn und den ihn bedrohenden Stein wird ein anderer Stein gesetzt"
PRINT
PRINT"Verloren hat,"
PRINT"- wer außer dem Shogun nur noch einen weiteren Stein besitzt oder"
PRINT"- wessen Shogun so bedroht wird, daß dieser keine Möglichkeit mehr hat,sich von"
PRINT" der Bedrohung zu befreien."
PRINT
PRINT"Und nun viel Spaß beim Spiel!"
PRINT
PRINT TAB(33)"Weiter mit ´W´"
FOR x=0 TO 1 STEP 0.01
PALETTE 0,x,x,x:PALETTE 1,x,x,x
NEXT x
WHILE INKEY$<>"w"
WEND
END SUB